Turbo-BASIC XL 1.7F

← Zurück zum Forum

Turbo-BASIC XL 1.7F

Turbo-BASIC XL 1.7F

Turbo-BASIC XL 1.7F – das bekannte Turbo-BASIC, nur schneller und fehlerbereinigt

Turbo-BASIC XL 1.7F baut auf Frank Ostrowskis Turbo-BASIC XL 1.5 von 1985 auf (Happy Computer). Es läuft auf allen Atari XL/XE, also 800XL, 65XE und 130XE. Das F steht für „fast und final“.

Was ist neu? - Schnellere Bildschirmausgabe: PRINT, LIST, PLOT und DRAWTO schreiben direkt in den Bildschirmspeicher statt über das Betriebssystem.

Text-Ausgabe mit POSITION und PRINT ist interpretiert rund 13-mal schneller, kompiliert bis 19-mal. DRAWTO ist fast 4-mal schneller.

  • Schnellerer Zugriff auf Felder wie A(I), zum Beispiel 11 % beim Damen-Problem.

  • 36 Fehler behoben: 18 im Interpreter, 9 im Compiler und 9 in der Runtime. Darunter sind DEC mit Kleinbuchstaben, TIME$ auf NTSC-Geräten, Hänger bei GRAPHICS und INKEY$, falsche Rechenergebnisse im Compiler bei Programmen mit vielen Variablen und die bekannten Fehler aus der Atariki-Liste.

  • Leise: keine Ladegeräusche und kein Tastenklick mehr. (Sorry ich konnte nicht anders...) Mit POKE 65,3 bzw. POKE 731,0 lässt sich beides wieder einschalten.

  • Compiler 1.7F: REM-, DATA- und andere Zeilen ohne Code kosten im kompilierten Programm keinen Platz mehr.

Was bleibt gleich? - Bestehende Programme laufen unverändert, auch solche, die mit dem alten Compiler 1.1 übersetzt wurden. - Bildschirm, Fehlernummern und Betriebssystem-Variablen sind dieselben wie bei 1.5.

Speicher Der schnelle Code braucht Platz. Im Interpreter bleiben 30567 Bytes frei statt 34021. Bei kompilierten Programmen wählt die Runtime selbst, wie viel schnellen Code sie lädt. Am Rahmen beim Laden sieht man die Wahl: grün = voll, gelb = nur PRINT, grau = ohne. Der Compiler zeigt nach dem Übersetzen in der Zeile FREE, wie viel Platz jede Fassung lässt. Reicht der Platz nicht, schreibt man als allererste Anweisung 1 POKE 600,2 (1427 Bytes mehr frei, PRINT bleibt schnell) oder 1 POKE 600,4 (3300 Bytes mehr, so viel wie mit der alten Runtime). Die Fehlerkorrekturen bleiben in jeder Fassung aktiv.

Lieferumfang - Startdiskette mit DOS 2.5 als 130-KB-Image für die 1050 und eine Extra-Diskette. - Handbuch auf Deutsch und Englisch, jeweils vollständig mit allen Änderungen bis auf Adressebene und als Kurzfassung für Anwender.

Getestet mit Atari XL-OS Rev. 2 und Rev. 3, DOS 2.5, BW-DOS und SpartaDOS X, auf 64K und 128K.

Dank an Frank Ostrowski, Thomas Richter (Thor), Daniel Serpell (dmsc) und die Atariki-Fehlerliste.


**Alle Dateien und der Quellcode liegen auf meine HomePage:**

8Bit-Nostalgie.de

AntwortZitat

Moin Markus, danach hatte ich gestern schon gesucht wie blöd, hatte mir auf der JHV leider nicht gemerkt, wo ich das Elite und das Turbo-BASIC 1.7 herbekomme.
Jetzt weiß ich auch, warum ich gestern nichts im Forum gefunden habe ^^

AntwortZitat

Für Elite werde ich morgen den Artikel online stellen weil ich zwischenzeitlich noch ein paar Änderungen eingepflegt habe.

AntwortZitat

Was macht die Version, wenn ein alternativer E:-Handler geladen wurde, z.B. für einen 80-Zeichen-Modus via GR.8 oder gar mit einer XEP80, die im Atari überhaupt keinen Bildschirmspeicher hat?

Das sie direkt in den Bildschirmspeicher schreibt, muss das eigentlich schiefgehen.

AntwortZitat

DjayBee schrieb am 02.11.2026 18:14:

Was macht die Version, wenn ein alternativer E:-Handler geladen wurde, z.B. für einen 80-Zeichen-Modus via GR.8 oder gar mit einer XEP80, die im Atari überhaupt keinen Bildschirmspeicher hat?

Das sie direkt in den Bildschirmspeicher schreibt, muss das eigentlich schiefgehen.

Am besten, testen!

AntwortZitat

Kurzer Test in Altirra:

Turbo-BASIC XL 1.7F läuft mit dem XEP80, wenn man es in der richtigen Reihenfolge lädt und danach zwei POKEs eingibt. Getestet habe ich in AltirraSDL mit XEP80-Bild (PAL, XL-OS Rev. 3) und dem XEP80-Treiber ALTXEP80.SYS von der Altirra-Additions-Diskette.

So funktioniert es:

Zuerst den XEP80-Treiber laden (als AUTORUN.SYS), danach Turbo-BASIC aus dem DOS-Menü mit L.

In Turbo-BASIC eingeben: DPOKE 741,47169: Damit schützt TB den Speicher des Treibers. FRE(0) zeigt dann 29559 statt 30567. POKE 83,79: Damit wird die Zeile 80 Zeichen breit statt 40.

Danach laufen Eingabe, LIST, RUN, PRINT-Schleifen und lange Programmzeilen auf dem XEP80. Die Ausgabe erscheint nur dort, nicht auf dem normalen Bildschirm.

Der schnelle Ausgabeweg von 1.7F hält sich also wie vorgesehen heraus. Ein String mit 29000 Zeichen ließ sich anlegen und füllen. Bei 30000 Zeichen kommt ERROR 2 MEM statt eines Absturzes.

AntwortZitat